<script>

export default {
  name: "MyStudent",
  data() {
    return {
      name: "张三",
      age: 18,
      num: 0
    }
  },
  methods: {
    add() {
      console.log("add方法被调用了")
      this.num++
    },
    sendStudentName() {
      this.$emit("getStudentName", this.name, 6666, 88888, this.age)
      this.$emit("demo", this.age)
    },
    unBind() {
      /*第一个方法:销毁指定的一个自定义事件*/
      // this.$off("getStudentName")

      /*第二个方法:销毁指定多个自定义事件*/
      // this.$off(["getStudentName","demo"])


      // 第三个方法:销毁所有自定义事件
      this.$off()
    },
    death() {

      console.log("销毁了")
      // 自己销毁当前student组件实例，销毁后student组件实例将不再可用，并且自定义的事件也将不再可用
      this.$destroy()
    }
  },

}
</script>

<template>
  <div class="student">
    <h2>学生姓名:{{ name }}</h2>
    <h2>学生年龄:{{ age }}</h2>
    <h2>num:{{ num }}</h2>
    <button @click="add">点我实现num++</button>
    <button @click="sendStudentName">发送学生姓名</button>
    <button @click="unBind">点我销毁自定义事件</button>
    <button @click="death">5秒后销毁</button>
  </div>
</template>


<style scoped>
.student {
  background-color: red;
  padding: 5px;
  margin-top: 30px;
}
</style>